<?php

/*
 * 完整配置
 *
[
	// 这里指定进程类
	'handler' => app\Pusher::class,
	// 监听的协议 ip 及端口 （可选）
	'listen'  => 'websocket://0.0.0.0:8888',
	// 进程数 （可选，默认1）
	'count'   => 2,
	// 进程运行用户 （可选，默认当前用户）
	'user'    => '',
	// 进程运行用户组 （可选，默认当前用户组）
	'group'   => '',
	// 当前进程是否支持reload （可选，默认true）
	'reloadable' => true,
	// 是否开启reusePort （可选，此选项需要php>=7.0，默认为true）
	'reusePort'  => true,
	// transport (可选，当需要开启ssl时设置为ssl，默认为tcp)
	'transport'  => 'tcp',
	// context （可选，当transport为是ssl时，需要传递证书路径）
	'context'    => [],
	// 进程类构造函数参数，这里为 process\Pusher::class 类的构造函数参数 （可选）
	'construct' => [],
	// 发送停止信号2秒后，无响应则杀掉
	'stopTimeout' => 2,
	// 默认接收最大数据包的大小
	'defaultMaxPackageSize' => 10485760,
]
*/

use dengje\workerman\process\httpServer\Handler;
use dengje\workerman\process\httpServer\Monitor;
use think\facade\App;

global $argv;

$isDaemon = in_array('-d', $argv);

return [
	// 'httpServer' => [
	// 	'handler'               => Handler::class,
	// 	'count'                 => App::isDebug() ? 1 : 12,
	// 	'listen'                => 'http://0.0.0.0:8080',
	// 	// 'user'                  => $isDaemon ? 'www' : 'root',
	// 	'stopTimeout'           => 2,
	// 	'defaultMaxPackageSize' => 10 * 1024 * 1024,
	// 	'construct'             => [
	// 		'config' => [
	// 			'serverName'        => 'beautiful-girl',
	// 			'maxRequestCount'   => 10000,
	// 			'rootPath'          => App::getRootPath(),
	// 			'publicPath'        => App::getRootPath() . 'public',
    //             'allowAccessStatic' => true
	// 		]
	// 	]
	// ],

	'monitor' => [
		'handler'    => Monitor::class,
		'reloadable' => false,
		// 'user'       => $isDaemon ? 'www' : 'root',
		'construct'  => [
			'config' => [
				'memoryLimit'       => '128m',
				'monitorExtensions' => ['php', 'env'],
				'monitorDir'        => [
					App::getAppPath(),
					App::getConfigPath(),
					root_path() . 'dengje',
					root_path() . 'plugin',
				]
			]
		]
	],
	'websocket' => [
		'listen'   => "websocket://0.0.0.0:" . config('workerman.websocket.port',2345),
		'handler' => \dengje\workerman\process\websocket\Handler::class,
		'count'   => App::isDebug() ? 1 : 12,
		// 'user'    => $isDaemon ? 'www' : 'root',
	],
    'queue' => [
		'handler' => \dengje\workerman\process\queue\Handler::class,
		'count'   => App::isDebug() ? 1 : 12,
		// 'user'    => $isDaemon ? 'www' : 'root',
	],

    'timing' => [
		'handler' => \dengje\workerman\process\timing\Handler::class,
		'count'   => 1,
		// 'user'    => $isDaemon ? 'www' : 'root',
	]
];